home *** CD-ROM | disk | FTP | other *** search
/ The PC-SIG Library 10 / The PC-Sig Library - Shareware for the IBM PC and Compatibles (PC-SIG)(Tenth Edition Disks 1-2804)(1991).iso / PC_SIGCD / 03 / 1 / DISK0317.ZIP / SCHEDU.BAS < prev    next >
BASIC Source File  |  1984-05-31  |  19KB  |  297 lines

  1. 99  '=====================FIRST LINE OF THE PROGRAM======================
  2. 100 DRIVE$="b:"                                         'sets default data dr..
  3. 120 '=====================MAIN SCREEN ==================================
  4. 130 KEY OFF                                             'turns off 25th line
  5. 140 IF CHECK=1 THEN SCREEN  ,,1 :GOTO 405               'when check,show scrn 1
  6. 150 SCREEN ,,1                                          'sets input to screen s
  7. 160 CLS                                                 'clear screen 1
  8. 170 LOCATE 9,1                                          'go to line 9, column 1
  9. 180 PRINT"   SELECT:
  10. 190 LOCATE ,20:PRINT"1-See a certain date Schedule
  11. 200 LOCATE ,20:PRINT"2-Add in the Schedule
  12. 210 LOCATE ,20:PRINT"3-Initilize disk
  13. 220 LOCATE ,20:PRINT"4-Change defalult drive
  14. 230 LOCATE ,20:PRINT"5-Clear part of data
  15. 240 LOCATE ,20:PRINT"6-Add constant occuring activity
  16. 250 LOCATE ,20:PRINT"7-Print Activity on printer
  17. 260 LOCATE ,20:PRINT"8 or Esc-End Program
  18. 265 LOCATE 20,20:PRINT "Drive:"                         'displays default drv.
  19. 270 LOCATE 9,20:FOR Z=1 TO 37:PRINT CHR$(205);:NEXT     'graphs upper line
  20. 280 PRINT CHR$(187)                                     'graphs corner
  21. 290 FOR Z=10 TO 18:LOCATE Z,57:PRINT CHR$(186):NEXT     'graphs right horzline
  22. 300 LOCATE 18,57:PRINT CHR$(188)                        'graphs corner
  23. 310 FOR Z=56 TO 20 STEP -1:LOCATE 18,Z:PRINT CHR$(205):NEXT     'bottom line
  24. 320 LOCATE 18,19:PRINT CHR$(200)                        'graphs corner
  25. 330 FOR Z=17 TO 10 STEP -1:LOCATE Z,19:PRINT CHR$(186):NEXT     'left line
  26. 340 LOCATE 9,19:PRINT CHR$(201)                         'graphs corner
  27. 350 LOCATE 3,1:FOR Z=1 TO 80:PRINT CHR$(223);:NEXT      'uper line
  28. 360 FOR Z=3 TO 21:LOCATE Z,80:PRINT CHR$(219):NEXT      'right line
  29. 370 FOR Z=79 TO 1 STEP -1:LOCATE 21,Z:PRINT CHR$(220):NEXT      'down line
  30. 380 FOR Z=21 TO 3 STEP -1 :LOCATE Z,1:PRINT CHR$(219):NEXT      'left line
  31. 390 CHECK=1
  32. 400 '================= cheking which key was pressed ===========================
  33. 405 LOCATE 20,26:IF DRIVE$=""THEN PRINT "current" ELSE                               PRINT LEFT$(DRIVE$,1)+"      "
  34. 407 LOCATE 20,32:PRINT" Date:" DATE$ " " TIME$ " "
  35. 410 K$=INKEY$:IF K$="" THEN 407               'waiting for input
  36. 420 IF K$="1" THEN SCREEN ,,0,0:    GOTO 1590           'see day appointments
  37. 430 IF K$="2" THEN SCREEN ,,0,0:CLS:GOTO 1740           'write day appointment
  38. 440 IF K$="3" THEN SCREEN ,,0,0:CLS:GOTO 1900           'initialize disk
  39. 450 IF K$="4" THEN SCREEN ,,0,0:CLS:GOTO 2000           'change default drive
  40. 460 IF K$="5" THEN SCREEN ,,0,0:CLS:GOTO 2100           'clear part of data
  41. 470 IF K$="6" THEN SCREEN ,,0,0:    GOTO 2200           'add const. occ. actv.
  42. 480 IF K$="7" THEN SCREEN ,,0,0:    GOTO 2300           'Print time activity
  43. 490 IF K$="8" OR K$=CHR$(27) THEN SCREEN 0,0,0:CLS:KEY 9,"key on":KEY ON:LOCATE 12,20: PRINT"PROGRAM ENDED":END
  44. 500 IF (K$="h") OR (K$="H") THEN SCREEN ,,0:SCREEN ,,,0:PRINT"N. AVAILABLE":END
  45. 505 IF RIGHT$(K$,1)="I" THEN SCREEN ,,,0:GOTO 410
  46. 506 IF RIGHT$(K$,1)="Q" THEN 140
  47. 510 DEF SEG=0: POKE 1050, PEEK (1052)                   'clear buffer
  48. 520 BEEP: LOCATE 22,1:PRINT SPC(24) "Choose from 1 to 8 !!!
  49. 530 FOR A=1 TO 1000:NEXT                                'delay   loop
  50. 540 DEF SEG=0: POKE 1050, PEEK (1052)                   'clear buffer
  51. 550 LOCATE 22,9:PRINT "                                             "'erase
  52. 560 GOTO 410                                            'goto Mn Scrn
  53. 570 '
  54. 580 '================== inputing month =========================================
  55. 590 '
  56. 600 CLS
  57. 610 LOCATE 25,1:COLOR 0,7:PRINT" E a s y  E d i t  M o d e                                 Esc = Main Screen   ";: COLOR 7,0
  58. 615 DEF SEG = &H40: POKE &H17, PEEK(&H17) AND 171       'turn off Caps Lock
  59. 620 LOCATE 2,2:PRINT"Choose a Month? ";
  60. 630 COLOR 16+7   : PRINT "_"      : COLOR 7  '========== prnt cursor
  61. 640 K$=INKEY$:IF K$=""  OR K$=CHR$(8) OR K$=CHR$(13) THEN 640
  62. 650 IF K$=CHR$(27) THEN 120  '========================== Esc=Mn Scrn
  63. 660 LOCATE 2,18:PRINT K$;
  64. 670 IF K$="f" OR K$="F" THEN MNT$="february":LOCATE 2,18: PRINT MNT$:GOTO 910
  65. 680 IF K$="s" OR K$="S" THEN MNT$="september":LOCATE 2,18: PRINT MNT$:GOTO 910
  66. 690 IF K$="o" OR K$="O" THEN MNT$="october"  :LOCATE 2,18: PRINT MNT$:GOTO 910
  67. 700 IF K$="n" OR K$="N" THEN MNT$="november":LOCATE 2,18: PRINT MNT$:GOTO 910
  68. 710 IF K$="d" OR K$="D" THEN MNT$="december":LOCATE 2,18: PRINT MNT$:GOTO 910
  69. 720 COLOR 16+7   : PRINT "_"      : COLOR 7  '==================  prnt cursor
  70. 730 LOCATE 25,1:COLOR 0,7:PRINT"Cursor keys disabled.                                        Esc=  start again";: COLOR 7,0
  71. 740 K2$=INKEY$:IF LEN(K2$)<>1 OR K2$=CHR$(8) THEN 740
  72. 750 IF K2$=CHR$(27) THEN 600
  73. 760 LOCATE 2,19:PRINT K2$;
  74. 770 COLOR 16+7   : LOCATE 2,20:PRINT "_"      : COLOR 7
  75. 780 IF (K$="a" OR K$="A") AND (K2$="u" OR K2$="U") THEN MNT$="august" :              LOCATE 2,18: PRINT MNT$:GOTO 910
  76. 790 IF (K$="a" OR K$="A") AND (K2$="p" OR K2$="P") THEN MNT$="april" :               LOCATE 2,18: PRINT MNT$:GOTO 910
  77. 800 IF (K$="j" OR K$="J") AND (K2$="a" OR K2$="A") THEN MNT$="january" :LOCATE 2,18: PRINT MNT$:GOTO 910
  78. 810 K3$=INKEY$:IF LEN(K3$)<>1 OR K3$=CHR$(8)  THEN 810
  79. 820 IF K3$=CHR$(27) THEN 600
  80. 830 LOCATE 2,20:PRINT K3$;
  81. 840 COLOR 16+7   : PRINT "_"      : COLOR 7
  82. 850 IF (K$="j" OR K$="J") AND (K2$="u" OR K2$="U") AND (K3$="n" OR K3$="N") THEN MNT$="june":LOCATE 2,18:PRINT MNT$:GOTO 910
  83. 860 IF (K$="j" OR K$="J") AND (K2$="u" OR K2$="U") AND (K3$="l" OR K3$="L") THEN MNT$="july":LOCATE 2,18:PRINT MNT$:GOTO 910
  84. 870 IF (K$="m" OR K$="M") AND (K2$="a" OR K2$="A") AND (K3$="r" OR K3$="R") THEN MNT$="march":LOCATE 2,18:PRINT MNT$:GOTO 910
  85. 880 IF (K$="m" OR K$="M") AND (K2$="a" OR K2$="A") AND (K3$="y" OR K3$="y") THEN MNT$="may":LOCATE 2,18:PRINT MNT$+" ":GOTO 910
  86. 890 BEEP:CLS:LOCATE 25,1:COLOR 0,7:PRINT"Invalid month name....Begin again" SPC(45);:COLOR 7,0
  87. 891 GOTO 620
  88. 892 '=========== subroutine to determine name of day ==================
  89. 893 DEF FNZEL(M,D,Y)=(D+M+M+INT((M+1)*.6)+Y+Y\4-Y\100+Y\400+1) MOD 7
  90. 894 DEF FNDAY$(D)=MID$("SunMonTueWedThuFriSat",D*3+1,3)
  91. 895 DEF FNMON$(M)=MID$("JanFebMarAprMayJunJulAugSepOctNovDec",(M-1)*3+1,3)
  92. 896 MONTH=MONTH: DAY=DAY: YEAR=1984 '=================================
  93. 897 IF YEAR<100 THEN YEAR=YEAR+1900  ' Assume 20th century if not specified
  94. 898 IF YEAR<1582 THEN 901 ELSE IF YEAR>1582 THEN 902
  95. 899 IF MONTH<10 THEN 901 ELSE IF MONTH>10 THEN 902
  96. 900 IF DAY>14 THEN 902
  97. 901 PRINT "Not valid before Oct 15, 1582"
  98. 902 IF MONTH<1 OR MONTH>12 THEN PRINT "Month Invalid" :STOP
  99. 903 IF MONTH > 2 THEN 906
  100. 904  DAY.OF.WEEK=FNZEL(MONTH+12,DAY,YEAR-1)  ' Jan & Feb
  101. 905 GOTO 907
  102. 906  DAY.OF.WEEK=FNZEL(MONTH,DAY,YEAR)       ' Mar-Dec
  103. 907 DAY$=STR$(DAY)
  104. 908 WEEKDAY$=FNDAY$(DAY.OF.WEEK)
  105. 909 RETURN
  106. 910 '========= assigning end, begin value according to month ===================
  107. 920  IF MNT$="january"   THEN BEGIN=1   :EN=31 :MONTH=1:GOTO 1050
  108. 930  IF MNT$="february"  THEN BEGIN=32  :EN=59 :MONTH=2:GOTO 1050
  109. 940  IF MNT$="march"     THEN BEGIN=60  :EN=90 :MONTH=3:GOTO 1050
  110. 950  IF MNT$="april"     THEN BEGIN=91  :EN=120:MONTH=4:GOTO 1050
  111. 960  IF MNT$="may"       THEN BEGIN=121 :EN=151:MONTH=5:GOTO 1050
  112. 970  IF MNT$="june"      THEN BEGIN=152 :EN=181:MONTH=6:GOTO 1050
  113. 980  IF MNT$="july"      THEN BEGIN=182 :EN=212:MONTH=7:GOTO 1050
  114. 990  IF MNT$="august"    THEN BEGIN=213 :EN=243:MONTH=8:GOTO 1050
  115. 1000 IF MNT$="september" THEN BEGIN=244 :EN=273:MONTH=9:GOTO 1050
  116. 1010 IF MNT$="october"   THEN BEGIN=274 :EN=304:MONTH=10:GOTO 1050
  117. 1020 IF MNT$="november"  THEN BEGIN=305 :EN=334:MONTH=11:GOTO 1050
  118. 1030 IF MNT$="december"  THEN BEGIN=335 :EN=365:MONTH=12:GOTO 1050
  119. 1040 PRINT"invalid month!":GOTO 600
  120. 1050 '
  121. 1060 '========= finding the particular day ======================================
  122. 1065 PLAY"L35A+G-"
  123. 1070 LOCATE 25,1:COLOR 0,7:PRINT"Cursor keys enabled.                               enter day=o to  start again";: COLOR 7,0
  124. 1080 LOCATE 3,1
  125. 1090 DEF SEG=0: POKE 1050, PEEK (1052)
  126. 1100 FOR DELAY=1 TO 99: NEXT
  127. 1110 INPUT" Which day";DAY
  128. 1120 IF DAY=0 THEN 600
  129. 1125 IF DAY>32 THEN 1110
  130. 1127 GOSUB 892
  131. 1130 RETURN
  132. 1140 '============== writing information to disk ================================
  133. 1150 LOCATE 2,1
  134. 1160  EMP$=""
  135. 1170 OPEN  DRIVE$+"scd" AS #1 LEN=25
  136. 1175 DEF SEG =&H40: POKE &H17, PEEK (&H17) OR 64
  137. 1180 FIELD #1, 25 AS F$
  138. 1190 R=2: C=1:J=0: SWITCH=0
  139. 1200 FOR A=1 TO 5:EMP$=EMP$ + CHR$( SCREEN(R,C+A+J)):NEXT
  140. 1210 COLOR 15 : LOCATE R,C+1+J: PRINT EMP$
  141. 1220 K$=INKEY$: IF K$="" THEN :COLOR 7:LOCATE 22,10:PRINT TIME$:GOTO 1220
  142. 1230 IF K$=CHR$(13) THEN 1290
  143. 1235 IF K$="r" OR K$="R" THEN CLOSE:GOTO 1610           'go to reading mode
  144. 1240 IF LEN(K$)<>2 AND K$<>CHR$(13) THEN BEEP: GOTO 1220
  145. 1250 R$=RIGHT$(K$,1)
  146. 1255 IF R$="H" THEN R2=R:R=R-1:IF J=39 AND R=1 THEN J=0:R=17:SWITCH=39:GOTO 1280 ELSE IF J=0 AND R=1 THEN R=2:GOTO 1220 ELSE GOTO 1280
  147. 1260 IF R$="P" THEN R2=R:R=R+1:IF R=18 AND J=0 THEN J=39:R=2:SWITCH=-39:GOTO 1280 ELSE IF R=18 AND J=39 THEN R=17:GOTO 1220 ELSE GOTO 1280
  148. 1270 IF R$="O" THEN 1350 ELSE GOTO 1220
  149. 1280 LOCATE R2,C+1+J+SWITCH: COLOR 7: PRINT EMP$: EMP$="":SWITCH=0:GOTO 1200
  150. 1290 LOCATE R,C+7+J: COLOR 7:LINE INPUT DAT$
  151. 1295 IF DAT$="" THEN DAT$=CHR$(32)
  152. 1300  LSET F$=DAT$
  153. 1310 IF J=0 THEN ADD=0 ELSE IF J=39 THEN ADD=16 ELSE PRINT"error":STOP
  154. 1320  PUT # 1,INT(32*(BEGIN+DAY-2)+ADD+ R-1)
  155. 1340 R=R+1: R2=R-1:IF R=18 THEN R=17
  156. 1345 GOTO 1280
  157. 1350 CLOSE: COLOR 7
  158. 1360 RETURN
  159. 1370 '=============== readong info from disk ====================================
  160. 1380 OPEN DRIVE$+"scd" AS #1 LEN=25
  161. 1390 FIELD #1, 25 AS E$
  162. 1410 COLOR 0,7:LOCATE 1:PRINT"  TIME    ACTIVITY                      TIME   ACTIVITY                       ":COLOR    7,0
  163. 1420 COUNT=5.5
  164. 1430 Y$="00": Z$="30":CON=1
  165. 1440 FOR I=1 TO 16
  166. 1450  COUNT=COUNT+.5: IF COUNT>9.5 THEN CON=0
  167. 1460  IF COUNT>12.5 THEN CON=1
  168. 1470  GET # 1,INT(32*(BEGIN+DAY-2)+I)
  169. 1480  SWAP Z$,Y$
  170. 1490  IF COUNT>12.99 THEN COUNT =1
  171. 1500  LOCATE I+1,1+CON:PRINT STR$( INT(COUNT) );":";Z$;: LOCATE I+1,8:PRINT E$;
  172. 1510 NEXT
  173. 1520 CON=0
  174. 1530 FOR I=1 TO 16
  175. 1540  GET # 1,INT(32*(BEGIN+DAY-2)+I+16):COUNT=COUNT+.5: SWAP Z$, Y$: IF COUNT>9.600001 THEN CON=-1
  176. 1550  LOCATE I+1,40+CON :PRINT STR$( INT(COUNT) );":";Z$;: LOCATE I+1,47:PRINT E$;
  177. 1560 NEXT
  178. 1570 CLOSE
  179. 1580 RETURN
  180. 1590 '====================== seeing a certain date schedules ====================
  181. 1600 GOSUB 580: CLS                                     'get month and day
  182. 1610 GOSUB 1370                                         'go to seeing module
  183. 1620 LOCATE 18,1:COLOR 0,7:                             'reverse vidio setting
  184. 1630 LOCATE 18,1:COLOR 0,7:PRINT"                Reading Mode. Strike a Key to Continue                         ":COLOR 7,0
  185. 1640 LOCATE 19:PRINT CHR$(221);"   DATE:                                           KEYS:" SPC(18):LOCATE 19,79:PRINT CHR$(222)
  186. 1650 LOCATE 20:PRINT CHR$(221);"    Day:";WEEKDAY$;" "DAY;:LOCATE ,50:PRINT         "  Pg Up:Perv day":LOCATE 20,79:PRINT CHR$(222)
  187. 1660 LOCATE 21:PRINT CHR$(221);"  Month:";MNT$;:LOCATE ,52:PRINT"Pg Dn:next day"       :LOCATE 21,79:PRINT CHR$(222)
  188. 1670 PRINT CHR$(221);"   TIME:                                              W:Go to Writing Mode     ": LOCATE 22,79:PRINT CHR$(222)
  189. 1680 COLOR 0,7:PRINT "                                                                               ": COLOR 7,0
  190. 1685 LOCATE 19,58:COLOR 23:PRINT "_":COLOR 7            'display blinking cursr
  191. 1690 K$=INKEY$:IF K$="" THEN LOCATE 22,10: PRINT TIME$:GOTO 1690
  192. 1700 K$=RIGHT$(K$,1)                                    '=the rightmost charctr
  193. 1705 IF K$="W" OR K$="w" THEN 1762                      'go to Write subroutine
  194. 1710 IF K$="I" THEN IF DAY>1 THEN LET DAY=DAY-1:GOSUB 893:GOTO 1610 ELSE IF DAY=1 THEN 1690
  195. 1720 IF K$="Q" THEN IF DAY<32 THEN DAY=DAY+1:GOSUB 893:GOTO 1610 ELSE GOTO 1690
  196. 1730 GOTO 120                                           'go to main screen
  197. 1740 '================ writing schedule =============
  198. 1750 GOSUB 580: CLS                                     'get month and day
  199. 1760 GOSUB 1370                                         'display info
  200. 1762 LOCATE 18,1:COLOR 0,7:PRINT "                        Writing Mode                                           ":COLOR 7,0
  201. 1763 LOCATE 19:PRINT CHR$(221);"   DATE:                                 KEYS:        R:Go to Reading Mode":LOCATE 19,79:PRINT CHR$(222)
  202. 1764 LOCATE 20  :PRINT CHR$(221);"    Day:";WEEKDAY$DAY;:LOCATE ,50:PRINT            "<ENTER>:Write     ":LOCATE 20,79:PRINT CHR$(222)
  203. 1765 LOCATE 21:PRINT CHR$(221);"  Month:";MNT$;:LOCATE ,52:PRINT CHR$(24) " & " CHR$(25) ":Move Cursor": LOCATE 21,79:PRINT CHR$(222)
  204. 1766 PRINT CHR$(221) "   TIME:";       :LOCATE ,54:PRINT "End:Save & go to Mn Scrn":LOCATE 22,79:PRINT CHR$(222)
  205. 1767 COLOR 0,7  :PRINT "                                                                               ": COLOR 7,0
  206. 1770 GOSUB 1140                                         'go to write info 2dsk
  207. 1780 GOTO 120                                           'go to min acreen
  208. 1900 '================= initilizig the disk ===============================
  209. 1902 PRINT "Are You Sure?"
  210. 1903 K$=INKEY$: IF K$="y" OR K$="Y" THEN 1905 ELSE                                   IF K$="" THEN 1903 ELSE GOTO 120
  211. 1905 PRINT"this is gonna take a couple of minutes. So.."'print message-
  212. 1906 PRINT "Relax, tell you hear the beep." ,SPC(80)    'at the top
  213. 1910 OPEN DRIVE$+"scd" AS #1 LEN=25                     'open scd data file
  214. 1920 FIELD #1, 25 AS F$                                 'sets field buffer
  215. 1925 FOR AA%=1 TO 11680                                 'loops the whole-
  216. 1930    DAT$=CHR$(32)                                   'data file, and -
  217. 1940    LSET F$=DAT$                                    'inserts chr$(32)-
  218. 1950    PUT # 1,AA%                                     'to every record -
  219. 1955 NEXT                                               'in the file
  220. 1970 CLOSE                                              'closes file
  221. 1980 BEEP: PRINT" disk initilized"                      'beeps
  222. 1985 FOR A=1 TO 1509: NEXT                              'delay loop
  223. 1999 GOTO 120                                           'goto main screen
  224. 2000 '================  changing default drive  ===========================
  225. 2010 LOCATE ,,1:PRINT"Select drive ?";                  'print message @top
  226. 2020 K$=INKEY$:IF K$ ="" THEN 2020                      'looks for input
  227. 2030 PRINT                                              'print empty line
  228. 2045 LOCATE ,,0                                         'turn off cursor
  229. 2060 DRIVE$=K$+":"                                      'sets value of dr..
  230. 2070 GOTO 120                                           'go to main screen
  231. 2100 '================== erasing part of data ==================================
  232. 2110 CLS
  233. 2120 PRINT"Data to be cleared beginning:"               'print message @ top
  234. 2130 GOSUB 610                                          'get begin and day
  235. 2132 START= 32*(BEGIN+DAY-2)                            'calculate start
  236. 2135 CLS                                                'clear screen
  237. 2140 PRINT"Data to be cleared until & including:"       'prnt message @ top
  238. 2150 GOSUB 610                                          'begin&day for finsh
  239. 2155 FINISH=32*(BEGIN+DAY-2)+32                         'calcualte finish
  240. 2160 PRINT"Erasing........"                             'print message
  241. 2170 OPEN  DRIVE$+"scd" AS #1 LEN=25                    'open file to erase-
  242. 2180 FIELD #1, 25 AS F$                                 'the part assigned
  243. 2182 FOR A%=START+1 TO FINISH                           'loop to add a blank
  244. 2183    IF A=0 THEN A=1                                 'ords
  245. 2190    DAT$=CHR$(32)                                   'ords
  246. 2192    LSET F$=DAT$                                    'ords
  247. 2194    PUT # 1,A%
  248. 2195 NEXT
  249. 2196 BEEP:CLOSE: COLOR 7                                'beep when finish
  250. 2197 GOTO 120                                           'goto main screen
  251. 2200 '================== adding constant occuring activity =====================
  252. 2210 CLS
  253. 2220 PRINT"Data to be entered beginning:"               'print message @ top
  254. 2230 GOSUB 610                                          'get begin and day
  255. 2232 START= 32*(BEGIN+DAY-2)                            'calculate start
  256. 2235 CLS                                                'clear screen
  257. 2240 PRINT"Data to be entered until & including:"       'prnt message @ top
  258. 2250 GOSUB 610                                          'begin&day for finsh
  259. 2255 FINISH=32*(BEGIN+DAY-2)+32                         'calcualte finish
  260. 2257 PRINT "TIME:":INPUT "Hour";HR:HR=INT(HR)
  261. 2258 INPUT "Minute (0 or 30)";MIN: IF MIN <>0 AND                                     MIN<>30 THEN 2258
  262. 2260 LOCATE ,,1 :PRINT"AM or PM?";
  263. 2262 K$=INKEY$: IF K$="" THEN 2262
  264. 2264 IF K$<>"a" AND K$<>"A" AND K$<>"p" AND K$<>"P" THEN                             BEEP: GOTO 2262 ELSE LOCATE ,,0:PRINT K$
  265. 2265 IF K$="p" OR K$="P" THEN XX=HR*2+12
  266. 2266 IF K$="a" OR K$="A" THEN XX=HR*2-12
  267. 2267 INPUT "Activity?";ACT$
  268. 2268 IF MIN=30 THEN XX=XX+1
  269. 2270 OPEN  DRIVE$+"scd" AS #1 LEN=25                    'open file to erase-
  270. 2280 FIELD #1, 25 AS F$                                 'the part assigned
  271. 2282 FOR A%=START+1+XX TO FINISH STEP 32                'loop to add a blank
  272. 2283    IF A=0 THEN A=1                                 'ords
  273. 2290    DAT$=ACT$
  274. 2292    LSET F$=DAT$                                    'ords
  275. 2294    PUT # 1,A%
  276. 2295 NEXT
  277. 2296 BEEP:CLOSE: COLOR 7                                'beep when finish
  278. 2297 GOTO 120                                           'goto main screen
  279. 2300 '================ printing module =========================================
  280. 2305 GOSUB 590                                          'month & day input
  281. 2310 CLS                                                'clear screen
  282. 2320 PRINT "Turn printer on then strike a key"
  283. 2330 IF INKEY$="" THEN 2330                             'waiting for Keypressed
  284. 2340 CLS:GOSUB 1380                                     'display activites
  285. 2345 LOCATE 19,20:PRINT "Month:" MNT$ ".    Day:" DAY
  286. 2346 PRINT
  287. 2347 LOCATE ,20:COLOR 0,7:PRINT " P R I N T I N G ! ! !":COLOR 7,0
  288. 2350 LPRINT CHR$(14);"TIME ACTIVITY      TIME ACTIVITY":LPRINT CHR$(18)
  289. 2360 FOR LIN=2 TO 19
  290. 2370  FOR COLUMN=1 TO 78
  291. 2380   LPRINT CHR$(SCREEN(LIN,COLUMN));
  292. 2390  NEXT
  293. 2400  LPRINT CHR$(0)
  294. 2500 NEXT
  295. 2600 GOTO 140
  296. 2700 '===================LAST LINE=============================================
  297.